package com.zretc.emptraining.daoimpl;

import java.util.List;

import com.zretc.emptraining.dao.CourseDao;
import com.zretc.emptraining.dbtools.DBTools;
import com.zretc.emptraining.dbtools.PageData;
import com.zretc.emptraining.entity.Course;

/**
 * 课程DAO实现类
 * 
 * @author 傅洁敏
 *
 */

public class CourseDaoImpl implements CourseDao {
	/**
	 * 增加课程
	 * 
	 * @param course 课程
	 * @return boolean 是否添加成功
	 */
	@Override
	public boolean addCourse(Course course) {
		if (course == null) {
			return false;
		} else {
			String sql = "insert into course values(null,?,?,?,?)";
			int n = DBTools.getUpdate(sql, course.getSubJect(), course.getCourseName(), course.getCourseDesc(),
					course.getCoursePic());
			return n > 0;
		}
	}

	/**
	 * 根据课程号删除课程
	 * 
	 * @param courseNo 课程号
	 * @return boolean 是否删除成功
	 */
	@Override
	public boolean delCourse(int courseNo) {
		String sql = "delete  from  course where courseNo=?";
		int n = DBTools.getUpdate(sql, courseNo);
		return n > 0;
	}
	
	/**
	 * 修改课程
	 * 
	 * @param course 课程
	 * @return boolean 是否修改成功
	 */
	@Override
	public boolean updCourse(Course course) {
		if (course == null) {
			return false;
		} else {
			String sql = "update course set subJect=?,courseName=?,courseDesc=?,coursePic=? where courseNo=?";
			int n = DBTools.getUpdate(sql, course.getSubJect(), course.getCourseName(), course.getCourseDesc(),
					course.getCoursePic(),course.getCourseNo());
			return n > 0;
		}
	}

	/**
	 * 分页:根据 课程名关键字 模糊查询
	 * 
	 * @param page     页码
	 * @param pagesize 每页显示的记录数
	 * @param keywords 课程名关键字
	 * @return PageData<Course> 课程信息集合
	 */
	@Override
	public PageData<Course> getCoursesByPage(int page, int pageSize, String keywords) {
		String sql = "select * from course where courseName  like  ?";
		PageData<Course> pageData = DBTools.exQueryByPage(sql, Course.class, page, pageSize, "%" + keywords + "%");
		return pageData;
	}
	/**
	 * 根据课程名精确查询
	 * @param username  课程名
	 * @return Course 课程类
	 */
	@Override
	public Course getCourseByName(String courseName) {
		String sql="select * from course where courseName = ?";
		List<Course> list=(List<Course>)DBTools.exQuery(sql, Course.class, courseName);
		if (list.size()==0) {
			return null;
		}
		return list.get(0);
	}
	/**
	 * 查询所有课程
	 * 
	 * @return List<Course> 课程类集合
	 */
	@Override
	public List<Course> getAllCourses() {
		// TODO Auto-generated method stub
		String sql="select * from course ";
		List<Course> list=(List<Course>)DBTools.exQuery(sql, Course.class);
		return list;
	}

	
}
